import request from '@/utils/request'
import request2, {
    downloadPost
} from '@/utils/request2'

import {
    technologyApiUrl,
    faceApiUrl,
    technicalDomainUrl,
    technicalApiUrl, projectApiUrl
} from '@/api/config'

const SCIENCE = `${technologyApiUrl}/sciences`
// let  SCIENCE = `${technologyApiUrl}-zy/sciences`

/**
 * 标签列表
 * @param parameter
 */
export function getTypesLabel(parameter) {
    return request({
        url: technicalApiUrl +'/label',
        method: 'get',
        params: parameter
    })
}
/**
 * 技术应用列表
 */
export function getTechnologyList(data) {
    return request({
        url: `${SCIENCE}/achievements/extension/list`,
        method: 'post',
        data
    })
}
/**
 * 技术应用导出
 */
export function exportExtension(data) {
    return request({
        url: `${SCIENCE}/achievements/extension/exportExcel`,
        method: 'post',
        responseType:'blob',
        data
    })
}

/**
 * 技术应用详情
 * @param parameter
 */
export function getTechnologyDetail(parameter) {
    return request({
        url: `${SCIENCE}/achievements/extension/details`,
        method: 'get',
        params: parameter
    })
}

/**
 * 新技术应用删除
 * @param parameter
 */
export function deleteTechnology(parameter) {
    return request({
        url: `${SCIENCE}/achievements/extension/delete`,
        method: 'post',
        data: parameter
    })
}
/**
 * 新技术模板列表
 */
export function getTechnologyTemplate(params, data) {
    return request2({
        url: `${SCIENCE}/technology/template/list`,
        method: 'post',
        params,
        data
    })
}

/**
 *
 新技术树型数据列表
 * @param parameter
 */
export function treeList(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/treeList`,
        method: 'post',
        data: parameter
    })
}
/**
 *
 新技术树型数据新增
 * @param parameter
 */
export function treeAdd(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/treeAdd`,
        method: 'post',
        data: parameter
    })
}
/**
 *
 新技术树型数据编辑
 * @param parameter
 */
export function treeUpdate(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/treeUpdate`,
        method: 'post',
        data: parameter
    })
}
/**
 *
 新技术树型数据删除
 * @param parameter
 */
export function treeDelete(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/treeDelete/${parameter.id}`,
        method: 'get',
    })
}
/**
 *
 新技术树型数据是否可以删除
 * @param parameter
 */
export function treeIsDelete(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/treeIsDelete/${parameter.id}`,
        method: 'get',
    })
}
/**
 *
 /sciences/technology/template/delete/{id}
 新技术树形结构删除
 * @param parameter
 */
export function templateDelete(parameter) {
    return request2({
        url: `${SCIENCE}/technology/template/delete/${parameter.id}`,
        method: 'get',
    })
}
/**
 * 新增新技术应用情况
 * @param parameter
 */
export function addTechnology(parameter) {
    return request2({
        url: `${SCIENCE}/achievements/extension`,
        method: 'post',
        data: parameter
    })
}


/**
 * 编辑新技术应用情况
 * @param parameter
 */
export function editTechnology(parameter) {
    return request2({
        url: `${SCIENCE}/achievements/extension/update`,
        method: 'post',
        data: parameter
    })
}
/**
 * 更新新技术应用情况
 * @param parameter
 */
export function renew(parameter) {
    return request2({
        url: `${SCIENCE}/achievements/extension/renew`,
        method: 'post',
        data: parameter
    })
}

/**
 * 新技术应用统计
 * @param parameter
 */
export function getStatistics(parameter) {
    return request({
        url: `${SCIENCE}/achievements/extension/statistics`,
        method: 'get',
        params: parameter
    })
}

/**
 * 新技术使用-导出
 * @param parameter
 */
export function exportSummary(parameter) {
    return request({ 
        url: `${SCIENCE}/achievements/extension/exportExcel`,
        method: 'post',
        responseType:'blob',
        data: parameter
    })
}
/**
 * 新技术使用统计-导出 
 * @param parameter
 */
export function countDataExportExcel(parameter) {
    return request({ 
        url: `${SCIENCE}/achievements/extension/countDataExportExcel`,
        method: 'get',
        responseType:'blob',
        params: parameter
    })
}
/**
 新技术使用-统计信息
 * @param parameter
 */
export function countData(parameter) {
    return request({
        url: `${SCIENCE}/achievements/extension/countData`,
        method: 'get',
        params: parameter
    })
}
/**
 * 新技术模板新增
 * @param parameter
 */
export function addTechnologyTemplate(parameter) {
    return request({
        url: `${SCIENCE}/technology/template`,
        method: 'post',
        data: parameter
    })
}
/**
 * 新技术模板编辑
 * @param parameter
 */
export function editTechnologyTemplate(parameter) {
    return request({
        url: `${SCIENCE}/technology/template/update`,
        method: 'post',
        data: parameter
    })
}

/**
 * 新技术模板停启用
 * @param parameter
 */
export function getStatus(data) {
    return request({
        url: `${SCIENCE}/technology/template/status`,
        method: 'post',
        data
    })
}
/**
 * 新技术所属分公司
 */
export function getTechnologyLinkage() {
    return request({
        url: `${SCIENCE}/technology/linkage`,
        method: 'get'
    })
}
/**
 * 新技术所属分公司项目
 * @param parameter
 */
export function getTechnologyProject(parameter) {
    return request({
        url: `${SCIENCE}/technology/project`,
        method: 'get',
        params: parameter
    })
}
/**
 * 危大工程树
 * @param params
 */
export function getLargeDangerConfigById(data) {
    return request.post(`${faceApiUrl}/largeDangerConfig/queryLargeDangerConfigTree`,data)
}
/**
 * 危大工程树状态
 * @param data
 */
export function updateStatusLargeDangerConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerConfig/updateStatusById`,data)
}
/**
 * 危大工程树添加
 * @param data
 */
export function addLargeDangerConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerConfig/insertSelective`,data)
}
/**
 * 危大工程树编辑
 * @param data
 */
export function editLargeDangerConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerConfig/updateByPrimaryKeySelective`,data)
}
/**
 * 危大工程范围列表
 * @param data
 */
export function getPageLargeDangerDescConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerDescConfig/getPageLargeDangerDescConfig`,data)
}
/**
 * 危大工程范围新增
 * @param data
 */
export function addLargeDangerDescConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerDescConfig/insertSelective`,data)
}
/**
 * 危大工程范围编辑
 * @param data
 */
export function editLargeDangerDescConfig(data) {
    return request.post(`${faceApiUrl}/largeDangerDescConfig/updateByPrimaryKeySelective`,data)
}
/**
 * 技术方案分类
 * @param data
 */
export function getTechnicalProgramTypeById(data) {
    return request.post(`${faceApiUrl}/technicalProgramType/getPageTechnicalProgramType`,data)
}
/**
 * 技术方案添加
 * @param data
 */
export function addTechnicalProgramType(data) {
    return request.post(`${faceApiUrl}/technicalProgramType/insertSelective`,data)
}
/**
 * 技术方案编辑
 * @param data
 */
export function editTechnicalProgramType(data) {
    return request.post(`${faceApiUrl}/technicalProgramType/updateByPrimaryKeySelective`,data)
}
/**
 * 技术方案更新
 * @param data
 */
export function updateTechnicalProgramType(data) {
    return request.post(`${faceApiUrl}/technicalProgramType/updateByPrimaryKeySelective`,data)
}
/**
 * 技术分项列表
 * @param data
 */
export function getPageTechnicalProgramTypeInfo(data) {
    return request.post(`${faceApiUrl}/technicalProgramTypeInfo/getPageTechnicalProgramTypeInfo`,data)
}
/**
 * 技术分项信息新增
 * @param data
 */
export function addTechnicalProgramTypeInfo(data) {
    return request.post(`${faceApiUrl}/technicalProgramTypeInfo/insertSelective`,data)
}
/**
 * 技术分项信息编辑
 * @param data
 */
export function editTechnicalProgramTypeInfo(data) {
    return request.post(`${faceApiUrl}/technicalProgramTypeInfo/updateByPrimaryKeySelective`,data)
}
/**
 * 项目规范清单配置链接
 * @param data
 */
export function updateReferenceLink(data) {
    return request.post(`${faceApiUrl}/technicalProjectStandard/updateReferenceLink`,data)
}
/**
 * 基础规范配置链接
 * @param data
 */
export function technicalBasicsStandardUpdateReferenceLink(data) {
    return request.post(`${faceApiUrl}/technicalBasicsStandard/updateReferenceLink`,data)
}
/**
 * 导出项目规范清单
 * @param data
 */
export function technicalProjectStandardDetailedListExport(data={}) {
    return request.post(`${faceApiUrl}/technicalProjectStandardDetailedList/export`,data, {responseType:"blob"})
}

/**
 * 导出基础规范清单
 * @param data
 */
export function technicalStandardDetailedListExport(data={}) {
    return request.post(`${faceApiUrl}/technicalStandardDetailedList/export`,data, {responseType: 'arraybuffer'})
}

/**
 * 技术质量整改单
 * @param data
 */
export function createTechnicalProblemNotice(data={}) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/create`,data)
}
/**
 * 技术质量整改单
 * @param data
 */
export function technicalProblemNoticePrint(id) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/print/${id}`)
}
/**
 * 技术整改单分页查询
 * @param data
 */
export function queryByPageTechnicalProblemNotice(data={}) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/queryByPage`,data)
}

/**
 * 技术质量整改单
 * @param data
 */
export function updateTechnicalProblemNotice(data={}) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/update`,data)
}
/**
 * 技术质量整改单
 * @param data
 */
export function problemAppDetail(data={}) {
    return request.get(`${faceApiUrl}/problemApp/detail`, { params: data })
}
/**
 * 技术质量整改单
 * @param data
 */
export function problemAppCount(data={}) {
    return request.post(`${faceApiUrl}/problemApp/count`, data)
}
/**
 * 技术质量整改单
 * @param data
 */
export function technicalProblemNoticeCount(data={}) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/count`, data)
}

export function technicalProblemNoticeUpdateStatus(data) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/updateStatus`, data)
}


export function technicalProblemNoticeBatchPrint(data) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/batchPrint`, data)
}

export function deleteTechnicalProblemNotice(data) {
    return request.get(`${faceApiUrl}/technicalProblemNotice/delete`, { params: data })
}


/**
 * 技术上传资料
 * @param data
 */
export function problemAppUpload(data={}) {
    return request.post(`${faceApiUrl}/problemApp/uploadFile`, data)
}

/**
 * 日常资料创建待办
 * @param data
 */
export function createAgency(data={}) {
    return request.get(`${faceApiUrl}/technicalDailyDataReceive/createAgency`, { params: data })
}
/**
 * 日常资料签收
 * @param data
 */
export function agencyReceive(data={}) {
    return request.get(`${faceApiUrl}/technicalDailyDataReceive/agencyReceive`, { params: data })
}
/**
 * 日常资料签收列表
 * @param data
 */
export function createAgencyList(data={}) {
    return request.get(`${faceApiUrl}/technicalDailyDataReceive/createAgencyList`, { params: data })
}



/**
 * 待办补录问题数据
 * @param data
 */
export function supplementTechnicalProblemNotice(data={}) {
    return request.post(`${faceApiUrl}/technicalProblemNotice/supplement`,data)
}

/**
 * 问题跟踪
 * @param data
 */
export function queryProblemByPage(data={}) {
    return request.post(`${faceApiUrl}/problemApp/queryByPage`,data)
}

/**
 * 专业类别下拉
 * @param data
 */
export function majorTypeSelectListTree(id) {
    // 后端技术有限 只能这么传了
    if(id) {
        return request.post(`${faceApiUrl}/majorType/selectList?id=`+id)
    } else {
        return request.post(`${faceApiUrl}/majorType/selectList`)
    }

}

/**
 * 获取工程树
 * @param data
 */
export function queryProjectListByTree(data={}) {
    return request.post(`${technicalDomainUrl}/projectList/queryProjectListTree`,data)
}

/**
 * 创建工程树
 * @param data
 */
export function createProjectList(data={}) {
    return request.post(`${technicalDomainUrl}/projectList`,data)
}
/**
 * 修改工程树
 * @param data
 */
export function editProjectList(data={}) {
    return request.put(`${technicalDomainUrl}/projectList/edit`,data)
}
/**
 * 更新工程树状态
 * @param data
 */
export function projectListStatus(data={}) {
    return request.put(`${technicalDomainUrl}/projectList/status`,data)
}

export function batchExportFiles(data={}) {
    return request.post(`${technicalApiUrl}/draw-change/batchExport`,data, {responseType: 'arraybuffer'})
}

export function batchdesignExportFiles(data={}) {
    return request.post(`${technicalApiUrl}/draw-design/batchExport`,data,{responseType: 'arraybuffer'})
}


// 施工方案分页
export function technicalQueryPage(data) {
  return request.post(`${technicalApiUrl}/technical/approval-count/query`, data)
}

export function technicalApprovalCount(data) {
    return request.post(`${technicalApiUrl}/technical/approval-count/count`, data)
}
// 施工台账补充
export function technicalSupplement(data) {
    return request.post(`${technicalApiUrl}/technical/approval-count/supplement`, data)
}

// 施工台账补充详情
export function getSupplementInfo(data) {
    return request.get(`${technicalApiUrl}/technical/approval-count/getSupplementInfo`, { params:data })
}
// 施工台账补充详情
export function downListzip(data) {
    return request.post(`${technicalApiUrl}/technical/approval-count/downListZip`, data, {responseType: 'arraybuffer'})
}
// 施工台账业务代办修改状态
export function changeImpStatus(data) {
    return request.get(`${technicalApiUrl}/technical/approval-count/changeImpStatus`, { params:data })
}

/**
 * 技术质量整改单
 * @param data
 */
export function technicalProblemNoticeDealt(data={}) {
    return request.get(`${faceApiUrl}/technicalProblemNotice/detail`, { params: data })
}



/**
 * 获取技术质量整改单问题描述下拉树
 * @param data
 */
export function getTechnicalProblemList(data) {
    return request.get(`${faceApiUrl}/technicalProblem/selectList`, { params: data })
}


/**
 * 新技术导出
 * @param data
 */
export function downExcel(data,filename) {
    return downloadPost(SCIENCE + '/technology/template/exportExcel', data,{},filename)
}